home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 12, No. 01 (1991-01)(MindCraft Publishing)(Side A).zip
/
Nibble Volume 12, No. 01 (1991-01)(MindCraft Publishing)(Side A).po
/
PIC.MOVE.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
2KB
|
68 lines
*----------------------------*
* Super Res picture mover *
* by Peter Stubbs *
*----------------------------*
* MERLIN 816 ASSEMBLER *
*----------------------------*
* Copyright (C)1991 *
* MindCraft Publ. Corp. *
*----------------------------*
* Moves pic between banks $00 and $E1. Direction of
* move is determined by where you enter program.
* Enter at MOVE1 for move from $00 to $E1 and enter
* at MOVE2 for move from $E1 to $00. An $8000 byte
* buffer is used in bank $00 starting at $1400
LINSAVE EQU $3 ;To hold value at NEWVIDEO
WHERE EQU $6 ;Storage for move direction
NEWVIDEO EQU $C029
ORG $300
MX %11
MOVE1 BRA ZERO
MOVE2 LDA #$01 ;1=$E1 to $00
BRA ONE
ZERO LDA #$00 ;0=$00 to $E1
ONE STA WHERE ;two 8 bit STA's
STA WHERE+1 ;for 16 bit LDA later
TR ADR
LDA NEWVIDEO
STA LINSAVE ;Save for later
ORA #%01000000 ;Linear mode on, but not
STA NEWVIDEO ; Super res mode
MX %00
CLC ;NATIVE MODE ON
XCE
REP #$30
LDA WHERE ;Determine move direction
BNE SAVE
* Move from bank $00 to Bank $E1
LOAD PEA $0000
PEA $1400 ;Start at $001400
PEA $00E1
PEA $2000 ;Copy to $E12000
BRA MOVE
* Move from bank $E1 to bank $00
SAVE PEA $00E1
PEA $2000 ;START AT $E12000
PEA $0000
PEA $1400 ;COPY TO $001400
* Do the actual move
MOVE PEA $0000 ;Number of bytes to be
PEA $8000 ; copied is $00008000
LDX #$2B02 ;_BlockMove Tool Call
JSL $E10000 ;Call the Tool Locator
SEC ;EMULATION MODE ON
XCE
LDA LINSAVE ;Get saved value
STA NEWVIDEO ; and restore NEWVIDEO
RTS ;All done, exit
LST OFF